package com.itheima.entity;

import com.alibaba.fastjson.JSON;
import com.itheima.vo.UserInfoVO;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class SysUser implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 编号     primary key
     */
    private String id;

    /**
     * 登录名
     */
    private String loginName;

    /**
     * 密码
     */
    private String password;

    /**
     * 姓名
     */
    private String name;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 电话
     */
    private String phone;

    /**
     * 最后登陆ip
     */
    private String loginIp;

    /**
     * 最后登陆时间
     */
    private LocalDateTime loginDate;

    /**
     * 创建时间
     */
    private LocalDateTime createDate;

    /**
     * 更新时间
     */
    private LocalDateTime updateDate;

    /**
     * 删除标记
     */
    private String delFlag;

    /**
     * 角色id
     */
    private String roleId;

    /**
     * 状态 1 正常 0 冻结
     */
    private Integer status;

    /**
     *是否为默认值
     */
    private String defaultData;

    public UserInfoVO transformUserInfoVO(){
        UserInfoVO userInfoVO = new UserInfoVO();
        userInfoVO.setId(this.id);
        userInfoVO.setLogin_name(this.loginName);
        userInfoVO.setPassword(this.password);
        userInfoVO.setName(this.name);
        userInfoVO.setEmail(this.email);
        userInfoVO.setPhone(this.phone);
        userInfoVO.setLogin_ip(this.loginIp);
        userInfoVO.setLogin_date(this.loginDate);
        userInfoVO.setCreate_date(this.createDate);
        userInfoVO.setUpdate_date(this.updateDate);
        userInfoVO.setDel_flag(this.delFlag);
        //JSON字符串转集合
        List<String> roleIdList = JSON.parseArray(this.roleId, String.class);
        userInfoVO.setRole_id(roleIdList);
        userInfoVO.setStatus(this.status);
        userInfoVO.setDefaultData(this.defaultData);
        //userInfoVO.setRolename();
        return userInfoVO;
    }

}
